# TLS/SSL HandShake
HTTPS์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ์
SSL ์ธ์ฆ์๋ก ์ ๋ขฐ์ฑ ์ฌ๋ถ๋ฅผ ํ๋จํ๊ธฐ ์ํด ์ฐ๊ฒฐํ๋ ๋ฐฉ์
# ์งํ ์์
ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ
client hello
๋ฉ์์ง๋ฅผ ๋ด์ ์๋ฒ๋ก ๋ณด๋ธ๋ค. ์ด๋ ์ํธํ๋ ์ ๋ณด๋ฅผ ํจ๊ป ๋ด๋๋ฐ,๋ฒ์
,์ํธ ์๊ณ ๋ฆฌ์ฆ
,์์ถ ๋ฐฉ์
๋ฑ์ ๋ด๋๋ค.์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์ํธ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์์ถ ๋ฐฉ์์ ๋ฐ๊ณ ,
์ธ์ ID
์CA ๊ณต๊ฐ ์ธ์ฆ์
๋ฅผserver hello
๋ฉ์์ง์ ํจ๊ป ๋ด์ ์๋ตํ๋ค. ์ด CA ์ธ์ฆ์์๋ ์์ผ๋ก ํต์ ์ดํ ์ฌ์ฉํ ๋์นญํค๊ฐ ์์ฑ๋๊ธฐ ์ , ํด๋ผ์ด์ธํธ์์ handshake ๊ณผ์ ์ ์ํธํ์ ์ฌ์ฉํ ๊ณต๊ฐํค๋ฅผ ๋ด๊ณ ์๋ค.ํด๋ผ์ด์ธํธ ์ธก์ ์๋ฒ์์ ๋ณด๋ธ CA ์ธ์ฆ์์ ๋ํด ์ ํจํ ์ง CA ๋ชฉ๋ก์์ ํ์ธํ๋ ๊ณผ์ ์ ์งํํ๋ค.
CA ์ธ์ฆ์์ ๋ํ ์ ๋ขฐ์ฑ์ด ํ๋ณด๋์๋ค๋ฉด, ํด๋ผ์ด์ธํธ๋ ๋์ ๋ฐ์ดํธ๋ฅผ ์์ฑํ์ฌ ์๋ฒ์ ๊ณต๊ฐํค๋ก ์ํธํํ๋ค. ์ด ๋์ ๋ฐ์ดํธ๋ ๋์นญํค๋ฅผ ์ ํ๋๋ฐ ์ฌ์ฉ์ด ๋๊ณ , ์์ผ๋ก ์๋ก ๋ฉ์์ง๋ฅผ ํต์ ํ ๋ ์ํธํํ๋๋ฐ ์ฌ์ฉ๋๋ค.
๋ง์ฝ 2๋ฒ ๋จ๊ณ์์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์๋ฅผ ํจ๊ป ์๊ตฌํ๋ค๋ฉด, ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์์ ํด๋ผ์ด์ธํธ์ ๊ฐ์ธํค๋ก ์ํธํ๋ ์์์ ๋ฐ์ดํธ ๋ฌธ์์ด์ ํจ๊ป ๋ณด๋ด์ค๋ค.
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์๋ฅผ ํ์ธ ํ, ๋์ ๋ฐ์ดํธ๋ฅผ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํ ํ ๋์นญ ๋ง์คํฐ ํค ์์ฑ์ ํ์ฉํ๋ค.
ํด๋ผ์ด์ธํธ๋ handshake ๊ณผ์ ์ด ์๋ฃ๋์๋ค๋
finished
๋ฉ์์ง๋ฅผ ์๋ฒ์ ๋ณด๋ด๋ฉด์, ์ง๊ธ๊น์ง ๋ณด๋ธ ๊ตํ ๋ด์ญ๋ค์ ํด์ฑ ํ ๊ทธ ๊ฐ์ ๋์นญํค๋ก ์ํธํํ์ฌ ๊ฐ์ด ๋ด์ ๋ณด๋ด์ค๋ค.์๋ฒ๋ ๋์ผํ๊ฒ ๊ตํ ๋ด์ฉ๋ค์ ํด์ฑํ ๋ค ํด๋ผ์ด์ธํธ์์ ๋ณด๋ด์ค ๊ฐ๊ณผ ์ผ์นํ๋ ์ง ํ์ธํ๋ค. ์ผ์นํ๋ฉด ์๋ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก
finished
๋ฉ์์ง๋ฅผ ์ด๋ฒ์ ๋ง๋ ๋์นญํค๋ก ์ํธํํ์ฌ ๋ณด๋ธ๋ค.ํด๋ผ์ด์ธํธ๋ ํด๋น ๋ฉ์์ง๋ฅผ ๋์นญํค๋ก ๋ณตํธํํ์ฌ ์๋ก ํต์ ์ด ๊ฐ๋ฅํ ์ ๋ขฐ๋ฐ์ ์ฌ์ฉ์๋ ๊ฑธ ์ธ์งํ๊ณ , ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํด๋น ๋์นญํค๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋๋ค.